//package com.bwie.aop;
//
//import org.aspectj.lang.ProceedingJoinPoint;
//import org.aspectj.lang.annotation.Around;
//import org.aspectj.lang.annotation.Aspect;
//import org.aspectj.lang.annotation.Pointcut;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//
//import javax.servlet.http.HttpServletRequest;
//
//@Component//把LoggerAspect交给spring容器管理
//@Aspect  //将当前组件标识为切面
//public class LoggerAspect {
//
//    @Autowired
//    HttpServletRequest request;
//
//
//    /**
//     * @Pointcut声明一个公共的切入点表达式:第一个*表示任意的访问修饰符和返回值类型 第一个*表示任意的访问修饰符和返回值类型
//     * 第二个*表示包下的任意类
//     * 第三个*表示类中任意的方法
//     * （..）表示任意的参数列表
//     */
//    //@Pointcut("execution(* com.bw.service.impl..*.*(..))")
//    @Pointcut("execution(* com.bwie.service.impl.UserServiceImpl.doLogin(..))")
//    public void pointCut() {
//    }
//
//
//    //环绕通知
//    @Around("pointCut()")
//    //环绕通知的方法的返回值一定要和目标对象方法的返回值一致
//    public Object aroundAdviceMethod(ProceedingJoinPoint joinPoint) throws Throwable {
//
//        System.out.println("环绕通知-->前置通知");
//
//
//        //表示目标对象方法的执行
//        Object result = joinPoint.proceed();//service实现层登录认证方法
//
//
//        System.out.println("环绕通知-->返回通知");
//
//        return result;
//    }
//
//
//}